查看原文
其他

甜橙金融:区块链赋能的隐私技术解析与金融应用实践

贺伟 DBAplus社群 2020-02-28



本文根据贺伟老师在〖2019 DAMS中国数据智能管理峰会〗现场演讲内容整理而成。


(点击“阅读原文”可获取演讲完整PPT)


讲师介绍

贺伟,中国电信甜橙金融信息技术部资深总监,具有丰富的区块链底层技术、密码隐私、芯片安全等领域的学术研究和工业研发经验。现任甜橙金融区块链项目组负责人,主持开发了甜橙Ofin区块链应用服务平台。


分享概要

1、隐私风险

2、信任需求

3、区块链

4、关键技术栈

5、区块链与密码

6、区块链与隐私

7、同态加密

8、零知识证明

9、甜橙区块链服务技术架构(电信翼支付)


隐私风险


近两年大家比较关注的欧盟《通用数据保护条例》(GDPR)主要有三个特点:


1、数据主权


过去个人数据采集使用存储和跨界传输,没有统一的方法,所以导致了很多数据乱用放入的情况。数据主权要求各个企业在应用用户数据的时候,用户必须清楚,这个数据会用到什么地方,什么时候会用,什么时候结束使用,什么时候需要删除等。


2、长臂管辖


长臂管辖要求部署于全球任何地方的服务器,就算这个企业不是欧盟成员国企业,只要存储有欧盟成员国居民的个人数据,都会强制纳入GDPR的管辖范围。从这一点讲,我国大部分企业从理论上都可被欧盟审查,因为你很难保证自己所有客户都是非欧盟成员国居民。


3、高额罚金


高额罚金也是GDPR的特点,并且已被实施多次。下面是2019年欧盟成员国对一些企业的惩罚案例:


(用户数据隐私违规已成为高频爆雷点,各国加紧立法,管制趋于严苛)


信任需求


我们看一下区块链,为什么传统金融风险都是信任缺失。左边也是最近发生的案例,涉及到京东、诺亚财富和承兴国际控股多方之间的账款转让关系问题。


(所有金融风险说到底是信任的缺失)


应收帐款在央行征信中心所维护的动产融资统一登记公示系统查询到,一个企业可以上传相关的一些应收账款信息到该系统,但该系统是不负责对这些信息的真实性,合法性进行确认的。你确认这项交易需要所有相关方线下启动,你上传之后,如果其他方没有确认,公众可以查询到,但实际上还是无效的。这个案件还在调查中,有待司法部门给出明确结论。


图右边是南国置业的公告函通过公众媒体发布,实际上是用了区块链的基本思想。一项交易在最终确认之前,是会通过广播形式,允许公众进行公开验证。一旦有分歧的时候,因为大家都知道,在确认之前是有多方共识的,所以最后交易时可以得到大家的广泛确认,这也是区块链一项基本的理念。


区块链


1、区块链定义


什么是区块链?这部分比较科普一些,我就不详细展开了,相信大家都了解。



2、区块链关键技术类


区块链涉及到的关键技术点包括以下这几项:



1)全局账本,通过分布式共识方向,多方在缺乏信任时可以维护统一的全局账本。


2)第二是共识协议,全局账本是对交易通过一系列共识后来写入的。


3)智能合约是区块链存在丰富业务的引擎。比特币只能承载简单资金交易,不能执行丰富的业务逻辑,是因为比特币做的越简单,安全性越高,因为不能承担,所以极大限制了应用范围。2015年以太坊上线以后,区块链应用范围得到极大扩展,在以太坊里面可以进行图灵完备的智能合约。


4)另外就是密码构件,区块链里面很难找到一块是跟密码不相关的模块,所以区块链核心元素就是密码。区块链有两个范畴,公有链和联盟链。划分标准非常多,这里可以从它的使用权,记账权,监督权简要分析。


联盟链里任何人都有清晰的角色划分,你是用户可以发起交易,如果是记账节点也可以对节点进行验证,把验证确定后的交易也可以记录到账本。联盟链一般是应用到企业,所以企业里面一般是有一些监督决策职能,一般联盟链都会为监督预留入口,这个是合规的必要措施。


3、公链VS联盟链



公链和联盟链属性非常多。在新的模式,公链没有准入,所以任何节点都可以加入,可以做任何交易,可以做任何决策。


联盟链相对公链有一定的信任关系,比如说身份,节点背后是什么身份,是什么企业,企业都是有一定资质才可以加入。公链和联盟链属性区别非常多,大概说几个。


第一个是信任模型,供应链是任何节点都可以加入供应链,可以做任何交易,联盟链,节点间有一定的信任关系。所以需要一定的准入,比如身份是不是真实,节点背后具体是什么身份,是什么企业,具备了何种资质才可被许可加入。


第二个是在公链里面可以不做隐私,像比特币交易,所有参与节点都可以看到,联盟链里面是允许隐私的。你要搞系统业务,可能涉及到一些金融场景,一般来说仅交易参与方才可以看到交易细节,非相关方的验证节点仅允许验证交易,而无法看到交易细节。


关键技术栈


区块链技术不断延伸到各个方面,性能、隐私、安全、应用生态。隐私这块是企业做区块链最核心的一部分,隐私技术一般来说是需要依赖密码学来实现。区块链最核心元素就是密码,传统互联网加密体系是构建于传输层安全协议,TLS1.2,TLS1.3,而区块链则需直接将密码隐私构建于网络底层。



区块链与密码


加密包括三个范畴,一个是加密传输,两个点之间数据是怎么通过加密方式进行点对点传输,这是传统协议可直接解决的。另外是对完整交易的加密和对数据存储的加密。区块链这波热潮唤醒了许多沉睡多年的密码学技术,为多种密码算法带来了新生命。


区块链与隐私


1、比特币隐私


比特币刚提出的时候,是一种所谓的隐私数字货币。对资产拥有权只是需要持有其地址所对应的私钥就可完全确认。通常认为比特币是一项隐私数字货币,实际上并不是这样。至少比特币只是一类伪名化的数字货币。现在大部分数字货币交易者需依赖中心化的交易所完成交易,因为单纯从自己终端执行区块链比特币交易其门槛是非常高的。而交易所一般为中心化的,其合规所需的KYC,AML身份审检流程实际上是可以将上链交易信息与具体个人身份链接起来的。而第三方攻击者也可通过检测交易所所属大流量交易地址与单个交易的MAC地址来分析具体交易者的行为特征。



2、隐私与交易验证矛盾


通过一些社会工程学的,可以追踪,通过分析交易地址上比特币交易流向,也可以把比特币地址身后真实人的身份信息剖析出来。有一项学术分析,大概60%的比特币地址背后真实身份信息是可以通过社会工程的方式分析出来的。隐私保障和区块链交易,实际上是两个矛盾的概念。因为在区块链上交易需要对信息进行验证,矿工或验证节点确认交易有效,才会把交易打包上去,一定要看到交易真实信息,而隐私需求则要求除交易相关方外,其它任何人无法看到交易细节信息。


同态加密


1、同态加密


为了保障区块链上隐私交易信息,直接选择是把所有交易信息进行加密,一旦加密交易不相关方是看不到明文交易信息的,这保证了隐私,但也是矛盾点,因为区块链上验证节点及矿工也无法验证交易合法性。密码学在一定程度上可以解决这样的问题,这里看一下同态加密。一般计算的时候,都是在明文上计算,传统计算是无法直接在密文上进行的。我们通过直接对两边数字进行加密,把它们加起来肯定结果是不对的。


构建同态加密的方案很多,有一些算法是天生可以支持部分同态加密的,包括用的非常广泛,特别在金融体系被大量采用的RSA算法。同态加密按对计算的支撑程度可分为:半同态加密和是全同态加密。半同态算法可以支持加法密文计算或者乘法同态,但不能同时支持,叫加法、乘法半同态。可同时支持同构的加法,乘法同态计算的被称为全同态,这个就非常强大,也就是说,如果用这种同态,你可以在密文上完成任意逻辑运算,这样隐私问题就完全解决了。但可惜的是全同态理论可行,效率极低。比如说明文上做一项运算,一秒钟可以完成,而利用全同态方式需数千亿秒,全同态离真实应用仍非常遥远。


2、链上数据隐私



同态加密在区块链上怎么应用,比说这个场景,三家银行构建一个联盟链,工行和农行客户进行交易,具体交易信息肯定不希望建行节点看到的。


3、半同态加密可解决算数隐私


他们可以这么做,如果是无隐私交易那就是A+B = C+B,买一件东西,有A和B两笔输入资金,一个是5块,一个是15块,支付C,即10块钱购买苹果,找回D,10块钱。这是没有隐私的,如果用加法同态加密来做,我们可以把A、B、C、D都加密,得到A’B’C’D’。把这个等式交给矿工,矿工在密文上验证A’+B’= C’+B’即可。但是这里有一个问题,如果没有钱,可以把零块钱拆分成正1块和负1块。购买一个10块钱的苹果,然后再找回负10块钱,因为是加密后,所以矿工不知道这个数值是非法的。除了在密文直接进行等式验算之外,我们还需要加入一个范围证明,验算A、B、C、D是在一个合法范围内,这两个加起来,可以完成交易完全真实性的验证。


零知识证明


另外一项非常强大隐私工具叫零知识证明,是早在80年代提出来的。核心思想是证明者在不提供任何有用信息情况下,可以让验证者确认自己拥有某一个秘密。零知识证明包括专用零知识证明,根据某一个具体问题专门构造一个零知识证明,或者更加强大的通用性零知识证明。



通用型知识证明强大之处在于,可以把任何需要保护的隐私问题用非无限循环的逻辑程序描述出来,然后把这项描述出来的约束语言转化成一个固定大小的证明,这个证明可以拿到区块链上去验证。验证通过即可以证明这个证明者确实拥有满足这项约束条件的一个秘密,但是具体什么秘密,其他人都是看不到的。通用零知识证明算法用的较广泛的包括业界研究团队为区块链场景所提出的ZK-Snark、ZK-Stark、Bullet Proof等。



我们在甜橙BaaS平台上集成了ZK-Snark,主要包括两个使用步骤。比如说我是一个银行,需要在区块链上部署一项新的业务。业务包括用户登录验证,需要验证用户身份的真实性。部署之前银行可以把验证身份关键隐私需求逻辑描述成业务约束程序,约束程序按照ZK-Snark规范生成验证逻辑智能合约,银行可把这个智能合约集成至需要上链的业务逻辑中,或者单独部署到区块链上。


用户登录银行这项业务的时候,用户是在本地用自己真实的信息,也就是用户核心秘密信息,通过ZK-Snark生成一个proof证明。用户将证明封装成一个交易发送到区块链上对应业务部署的逻辑上进行验证,如果proof验证通过,证明这个用户身份是合法的,用户即被授权进行其它业务操作。


最关键点是,用户核心秘密永远掌握在用户手上,不会释放出去。这跟传统身份验证是不一样。传统身份验证,用户真实身份需要远程传送到用户身份验证服务器上面,传输过程虽然可加密,但仍有可能被窃取,信息可能被泄露。而单点验证服务也可能被攻击,验证过程可被绕过。这是现实的风险。使用零知识证明则可极大降低隐私泄露可能性。


甜橙区块链服务技术架构(电信翼支付)


我们公司成立于2011年,是国内首家电信运营商的支付公司,央行核准第三方支付机构,翼支付在2019年4月份排名国内移动支付APP用户数第二位,第一位是支付宝。互联网金融业务方方面面都有涉及,包括支付、信贷、保险、理财等等,为了支撑相关业务,我们也对基础科技创新进行了很大的投入。我们成立了技术创新中心与人工智能研究院两大科创引擎。甜橙在布局区块链的不到半年时间里已经取得了不少技术成果。



1、应用案例与挑战


甜橙在区块链落地上有不少探索,包括保理、保险、征信、财务等。例如保理业务最主要目标是对核心企业开单票据的拆分、流转、兑付、融合进行监控。这与区块链多方参与,帐本不可篡改,可追溯完全契合的。保理业务上链使得供应链下游的小微型企业可低成本授信,从而更容易从保理公司或者合作银行获取贷款资金。智能合约的也使整个流程高效完成,避免了大量人工介入带来的低效与风险。



在过去的两三年里业界一直在说区块链元年即将到来,但到现在为止,区块链落地一直处在一个较为迟缓的阶段,这也是多方面原因所造成的,包括技术的成熟度、行业规范、法规监管政策等是否到位。由于区块链所带来的是全新的底层基础设施,对现有中心化服务体系改造较大,让工业界能接受这项新技术也确实需要一段相当长的时间。可喜的是近年全世界各国政府,包括我国以及地方省市都在不断推出了相关监管措施,同时也提出了很多扶持政策,包括金融领域的监管沙盒用于试点新技术应用。



具体来说区块链落地困境存在有技术、政策两方面原因,第一个是技术上的挑战,包括性能,安全,隐私,不同链间如何打通,关键算法协议的性能,软硬协同等。个人认为更重要的是政策标准挑战,这会再来更多的不确定性。其次就是行业标准规范,企业部署应用规范,版本更迭数据迁移,金融监管法规,生态冷启动等。以上每一项都是需要不断探索解决的问题,需要政府机构、行业联盟、企业、学术界、社区等共同努力。


2、甜橙区块链服务Ofin-BaaS


甜橙最近完成了Ofin-BaaS 1.0版本,这个版本是搭建的Fabric1.4为核心,特点是易用性、强隐私、高性能。



这是现在平台的系统介绍,第一个易用性,我们提供给企业友好的UI界面,可完成区块链系统搭建。企业如果没有区块链背景,可以让它零基础使用这个平台,在平台上可以对业务所需要的链进行丰富的配置,成员管理,通道管理,组织管理。可以一键部署到云服务器,甚至可以把自己的硬件资源作为节点与云网络联合组网,我们觉得这项功能非常关键,因为现有大多数BaaS平台仅提供给用户黑盒模式的使用接口,全部节点部署于BaaS平台提供的云服务。背后网络部署环境用户无法真实接触,监控,这对用户来说是无感的。而用户自有资源联合组网可使用户真实感受到分布式系统的存在。



由于公司的金融属性,甜橙区块链服务特别关注隐私能力的提升,甜橙BaaS平台集成了主流的隐私方案,包括前沿的零知识证明、同态加密、多方计算以及可信执行环境。部分已经开发完成,部分在研。这些能力可为用户业务的开发提供众多可选的强大隐私保障,同时可极大降低用户使用门槛。


3、甜橙规划


甜橙是电信旗下全资子公司,我们背靠电信生态,服务于电信与互联网金融,这是一个多方参与维护的生态,我们现在也积极参与到行业联盟建设以及标准制定,并持续与高校开展密切的技术研发合作,加强关键技术创新,特别是前沿密码隐私技术等等。



>>>>

Q & A


Q1:目前区块链技术安全这块,大部分公司或者企业把相关的一些隐私数据,比方说上链之后会不会造成一些行业里面恶性的竞争之类的?把一些个人的消费行为,在区块链上体现出来,会不会造成个人隐私问题?


A:这个是现在区块链大部分应用需要解决的问题,在区块链上部署应用,需要保证交易所有详细信息是可以通过验证的。个人真实信息是不能够被释放出来的。同态加密是只对数字计算来做,零知识指明是可以做到,现在是受限于一些性能上问题的。


区块链应用起来,可以保障用户隐私,真正合规还有一段路要走,这段路是需要学术界和工业界一块协同解决的。


Q2:保险理赔应用案例,这个案例和传统是什么?


A:是保理,因为我们背靠电信集团,集团下面供应链企业达百万家,非常庞大的供应链体系。二级,三级,四级小微供应链企业融资非常困难,逻辑是这样的,核心企业可以对一级供应商进行信用背书,核心企业可以给一级供应商颁发电子凭证。这个凭证可以持有到期兑换,或者可以拆分,流转给二级供应商,同样又可以流转给三级供应商。


只要拿着票据片段,保理公司可以根据片段在区块链上完成溯源验证,证明它是由核心企业所颁发的有效凭证的一部分。一旦验证成功保理公司可及时放款,对资金盘活的效能是非常高的。


Q3:刚才您说的零知识证明这个我听进去,它就是可以用身份认证。我这边有一个业务场景,信用卡反欺诈,您刚才说的零知识证明,可以用到身份虚假反欺诈上。您刚才说的区块链零知识证明,对于身份认证是在实践当中了?


我们如果现在业务模式,业务策略对于信用卡身份虚假反欺诈,是通过联系客户,通过一些业务策略来识别这种虚假身份,如果是应用您刚才说的零知识证明这个业务,对现有知识,这种业务模式会有什么颠覆吗?


A:对身份认证我们是已经开发出来一个原型系统,技术上的可行性是验证过了。反欺诈可能更多是涉及到白名单,黑名单的问题。区块链上研究也是非常多,零知识证明怎么结合我相信是可以做的。但是问题可实现性怎么办?要看描述业务复杂度有多高,零知识证明生成证明时间较长,性能上完全没有明显突破的情况下,我们不建议在零知识证明上描述复杂的问题。可以通过其他的一些方式,比如把复杂问题可以拆分成小问题,关键小问题单独生成利用零知识验证,这样我认为是可行的。


Q4:您刚才说的生态,具体的您能多说一下吗?


A:公司内部有非常多的业务线,前期想向公司内部产品线推,这个难度相对小一点,因为都是一个公司。第二可能向集团会推,各个省公司独立性较强,难度相对来说大一些。央行正在国内建立起跨企业的金融贸易平台,这个平台很可能是后期国家标准化的一个雏形的平台。国家力量在推动区块链演进中的作为是不可或缺的。


>>>>

活动推荐


10月26日,北京:dbaplus社群将举办数据架构与优化沙龙,携手京东、AWS、滴滴、新炬网络、爱可生等数据领域资深技术专家,聚焦数据中台、数据架构与优化的热门话题。码上了解更多详情。



11月15日,广州:Gdevops全球敏捷运维峰会将举办2019年度收官盛会,重点围绕智慧运维、DevOps、数据库领域,携手阿里、腾讯、京东、新浪微博、甜橙金融、联通大数据、微众银行、贝壳找房、新炬网络等技术代表展开年度技术总结与发展趋势展望,扫码汲取全年技术精华。



↓↓↓ 点这里可下载本文PPT

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存